/*
 * config.h
 *
 *  Created on: 14.02.2009
 *      Author: george
 */

#ifndef CONFIG_H_
#define CONFIG_H_

#include <QWidget>
#include <QHash>
#include <QFile>
#include <QTextStream>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QGridLayout>
#include <QPushButton>
#include <QComboBox>
#include <QLineEdit>
#include <QLabel>
#include <QSpinBox>

class MyConfig : public QWidget
{
	Q_OBJECT
public:
	MyConfig(const QString & f = "config.dat", const int h = 320, const int w = 240);
	QHash <QString, int> conf;
public slots:
	void fillInTheBlank();
	void toDefaults();
	void saveAndClose();
	void addByCnf(const int k);
	void addCnf(const QString & s);
	void saveCnf(const QString & s);
	void resetCnf(const QString & s);
	void nextCnf(const QString & s);
	void prevCnf(const QString & s);
	void editCnf(const QString & s);
	void delCnf(const QString & s);
	void newCnf(const QString & s);
	void startCnf(const QString & s);
	void stopCnf(const QString & s);
private:
	QString filename;
	QHash <QString, int> defConf;
	QHash <QString, int> keyMap;
	QPushButton * save, * defaults, * cancel;
	QSpinBox * addByCombo;
	QComboBox * addCombo;
	QComboBox * saveCombo;
	QComboBox * resetCombo;
	QComboBox * nextItemCombo;
	QComboBox * prevItemCombo;
	QComboBox * editItemCombo;
	QComboBox * delItemCombo;
	QComboBox * newItemCombo;
	QComboBox * startCombo; 
	QComboBox * stopCombo;
	QStringList keys;
};
#endif /* CONFIG_H_ */
